home *** CD-ROM | disk | FTP | other *** search
- program crc;
-
- uses Memtypes, Quickdraw, OsintF,ToolIntf,PackIntf,sane;
-
-
- type ElementType=record
- nom:string[10];
- DemiVie:extended;
- Ener:array[1..4] of record
- E,G:extended;
- end;
- end;
-
- var T:text;
- L:str255;
- Fname:string;
-
- Table:array[1..70] of ElementType;
- i,j,nMax:integer;
-
- function getfname(var filename:String;mask:OSType):boolean;
- var posit:point;
- oldname,prompt:Str255;
- tlist:SFTypelist;
- reponse:SFReply;
- result:integer;
- info:paramblockrec;
-
-
- begin
- getfname:=false;
- oldname:=filename;
- posit.v:=80;
- posit.h:=40;
- prompt:='';
- tlist[0]:=mask;
- flushevents(everyevent,0);
- sfgetfile(posit,prompt,nil,1,tlist,nil,reponse);
- with reponse do
- if good then
- begin
- filename:=fname;
- result:=setvol(nil,Vrefnum);
- good:= result=Noerr;
- info.ioFdirindex:=0;
- info.ioVrefNum:=Vrefnum;
- info.ionamePtr:=@fname;
- if PBgetFInfo(@info,false)<>noErr then halt;
- end else filename:=oldname;
- getfname:=reponse.good;
- end;
-
- begin
- Fname:='';
- if not GetFname(Fname,'TEXT') then halt;
- {$i-}
- reset(T,Fname);
- {$i+}
- if ioresult<>0 then halt;
- Nmax:=0;
- while not eof(T) do
- begin
- readln(T,L);
- Nmax:=Nmax+1;
- With Table[Nmax] do
- begin
- j:=Pos(#9,L);
- nom:=copy(L,1,J-1);
- delete(L,1,j);
- j:=Pos(#9,L);
- DemiVie:=str2Num(copy(L,1,J-1));
- if Relation(Demivie, 0) = Unordered then DemiVie:=0;
- delete(L,1,j);
- for i:=1 to 4 do
- begin
- j:=Pos(#9,L);
- Ener[i].E:=str2Num(copy(L,1,J-1));
- if Relation(Ener[i].E, 0) = Unordered then Ener[i].E:=0;
- delete(L,1,j);
- j:=Pos(#9,L);
- Ener[i].G:=str2Num(copy(L,1,J-1));
- if Relation(Ener[i].G, 0) = Unordered then Ener[i].G:=0;
- delete(L,1,j);
- end;
- end;
- end;
- writeln('TABLE DE ',nmax,' NUCLEIDES');
- writeln;
- for i:=1 to Nmax do
- with table[i] do
- begin
- write(nom:8,DemiVie:12:2);
- for j:=1 to 4 do write(Ener[j].E:8:0,Ener[j].G:6:2);
- writeln;
- end;
-
- close(T);
- readln;
- end.